/**********************************************************************/
/*   ____  ____                                                       */
/*  /   /\/   /                                                       */
/* /___/  \  /                                                        */
/* \   \   \/                                                       */
/*  \   \        Copyright (c) 2003-2009 Xilinx, Inc.                */
/*  /   /          All Right Reserved.                                 */
/* /---/   /\                                                         */
/* \   \  /  \                                                      */
/*  \___\/\___\                                                    */
/***********************************************************************/

/* This file is designed for use with ISim build 0x1cce1bb2 */

#define XSI_HIDE_SYMBOL_SPEC true
#include "xsi.h"
#include <memory.h>
#ifdef __GNUC__
#include <stdlib.h>
#else
#include <malloc.h>
#define alloca _alloca
#endif
static const char *ng0 = "C:/Users/maye/Desktop/taller/barcos/memoria_juego.v";
static int ng1[] = {0, 0};
static int ng2[] = {16, 0};
static int ng3[] = {8, 0};
static int ng4[] = {1, 0};
static int ng5[] = {2, 0};
static int ng6[] = {3, 0};



static void Initial_34_0(char *t0)
{
    char t5[8];
    char t17[8];
    char t18[8];
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    unsigned int t10;
    unsigned int t11;
    unsigned int t12;
    unsigned int t13;
    unsigned int t14;
    char *t15;
    char *t16;
    char *t19;
    char *t20;
    char *t21;
    char *t22;
    char *t23;
    char *t24;
    char *t25;
    char *t26;
    char *t27;
    char *t28;
    char *t29;
    char *t30;
    char *t31;
    unsigned int t32;
    int t33;
    char *t34;
    unsigned int t35;
    int t36;
    int t37;
    unsigned int t38;
    unsigned int t39;
    int t40;
    int t41;

LAB0:    xsi_set_current_line(34, ng0);

LAB2:    xsi_set_current_line(35, ng0);
    t1 = ((char*)((ng1)));
    t2 = (t0 + 2728);
    xsi_vlogvar_assign_value(t2, t1, 0, 0, 3);
    xsi_set_current_line(36, ng0);
    t1 = ((char*)((ng1)));
    t2 = (t0 + 2888);
    xsi_vlogvar_assign_value(t2, t1, 0, 0, 1);
    xsi_set_current_line(37, ng0);
    xsi_set_current_line(37, ng0);
    t1 = ((char*)((ng1)));
    t2 = (t0 + 3208);
    xsi_vlogvar_assign_value(t2, t1, 0, 0, 5);

LAB3:    t1 = (t0 + 3208);
    t2 = (t1 + 56U);
    t3 = *((char **)t2);
    t4 = ((char*)((ng2)));
    memset(t5, 0, 8);
    t6 = (t3 + 4);
    if (*((unsigned int *)t6) != 0)
        goto LAB5;

LAB4:    t7 = (t4 + 4);
    if (*((unsigned int *)t7) != 0)
        goto LAB5;

LAB8:    if (*((unsigned int *)t3) < *((unsigned int *)t4))
        goto LAB6;

LAB7:    t9 = (t5 + 4);
    t10 = *((unsigned int *)t9);
    t11 = (~(t10));
    t12 = *((unsigned int *)t5);
    t13 = (t12 & t11);
    t14 = (t13 != 0);
    if (t14 > 0)
        goto LAB9;

LAB10:
LAB1:    return;
LAB5:    t8 = (t5 + 4);
    *((unsigned int *)t5) = 1;
    *((unsigned int *)t8) = 1;
    goto LAB7;

LAB6:    *((unsigned int *)t5) = 1;
    goto LAB7;

LAB9:    xsi_set_current_line(38, ng0);
    xsi_set_current_line(38, ng0);
    t15 = ((char*)((ng1)));
    t16 = (t0 + 3368);
    xsi_vlogvar_assign_value(t16, t15, 0, 0, 4);

LAB11:    t1 = (t0 + 3368);
    t2 = (t1 + 56U);
    t3 = *((char **)t2);
    t4 = ((char*)((ng3)));
    memset(t5, 0, 8);
    t6 = (t3 + 4);
    if (*((unsigned int *)t6) != 0)
        goto LAB13;

LAB12:    t7 = (t4 + 4);
    if (*((unsigned int *)t7) != 0)
        goto LAB13;

LAB16:    if (*((unsigned int *)t3) < *((unsigned int *)t4))
        goto LAB14;

LAB15:    t9 = (t5 + 4);
    t10 = *((unsigned int *)t9);
    t11 = (~(t10));
    t12 = *((unsigned int *)t5);
    t13 = (t12 & t11);
    t14 = (t13 != 0);
    if (t14 > 0)
        goto LAB17;

LAB18:    xsi_set_current_line(37, ng0);
    t1 = (t0 + 3208);
    t2 = (t1 + 56U);
    t3 = *((char **)t2);
    t4 = ((char*)((ng4)));
    memset(t5, 0, 8);
    xsi_vlog_unsigned_add(t5, 32, t3, 5, t4, 32);
    t6 = (t0 + 3208);
    xsi_vlogvar_assign_value(t6, t5, 0, 0, 5);
    goto LAB3;

LAB13:    t8 = (t5 + 4);
    *((unsigned int *)t5) = 1;
    *((unsigned int *)t8) = 1;
    goto LAB15;

LAB14:    *((unsigned int *)t5) = 1;
    goto LAB15;

LAB17:    xsi_set_current_line(39, ng0);
    t15 = ((char*)((ng1)));
    t16 = (t0 + 3048);
    t19 = (t0 + 3048);
    t20 = (t19 + 72U);
    t21 = *((char **)t20);
    t22 = (t0 + 3048);
    t23 = (t22 + 64U);
    t24 = *((char **)t23);
    t25 = (t0 + 3208);
    t26 = (t25 + 56U);
    t27 = *((char **)t26);
    t28 = (t0 + 3368);
    t29 = (t28 + 56U);
    t30 = *((char **)t29);
    xsi_vlog_generic_convert_array_indices(t17, t18, t21, t24, 2, 2, t27, 5, 2, t30, 4, 2);
    t31 = (t17 + 4);
    t32 = *((unsigned int *)t31);
    t33 = (!(t32));
    t34 = (t18 + 4);
    t35 = *((unsigned int *)t34);
    t36 = (!(t35));
    t37 = (t33 && t36);
    if (t37 == 1)
        goto LAB19;

LAB20:    xsi_set_current_line(38, ng0);
    t1 = (t0 + 3368);
    t2 = (t1 + 56U);
    t3 = *((char **)t2);
    t4 = ((char*)((ng4)));
    memset(t5, 0, 8);
    xsi_vlog_unsigned_add(t5, 32, t3, 4, t4, 32);
    t6 = (t0 + 3368);
    xsi_vlogvar_assign_value(t6, t5, 0, 0, 4);
    goto LAB11;

LAB19:    t38 = *((unsigned int *)t17);
    t39 = *((unsigned int *)t18);
    t40 = (t38 - t39);
    t41 = (t40 + 1);
    xsi_vlogvar_assign_value(t16, t15, 0, *((unsigned int *)t18), t41);
    goto LAB20;

}

static void Always_45_1(char *t0)
{
    char t13[8];
    char t14[8];
    char t34[8];
    char t49[8];
    char t57[8];
    char t95[8];
    char t96[8];
    char t113[8];
    char t127[8];
    char t135[8];
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    unsigned int t6;
    unsigned int t7;
    unsigned int t8;
    unsigned int t9;
    unsigned int t10;
    char *t11;
    char *t12;
    char *t15;
    char *t16;
    char *t17;
    char *t18;
    char *t19;
    char *t20;
    char *t21;
    char *t22;
    char *t23;
    unsigned int t24;
    int t25;
    char *t26;
    unsigned int t27;
    int t28;
    int t29;
    unsigned int t30;
    unsigned int t31;
    int t32;
    int t33;
    char *t35;
    char *t36;
    unsigned int t37;
    unsigned int t38;
    unsigned int t39;
    unsigned int t40;
    unsigned int t41;
    unsigned int t42;
    unsigned int t43;
    unsigned int t44;
    unsigned int t45;
    unsigned int t46;
    unsigned int t47;
    char *t48;
    char *t50;
    unsigned int t51;
    unsigned int t52;
    unsigned int t53;
    unsigned int t54;
    unsigned int t55;
    char *t56;
    unsigned int t58;
    unsigned int t59;
    unsigned int t60;
    char *t61;
    char *t62;
    char *t63;
    unsigned int t64;
    unsigned int t65;
    unsigned int t66;
    unsigned int t67;
    unsigned int t68;
    unsigned int t69;
    unsigned int t70;
    char *t71;
    char *t72;
    unsigned int t73;
    unsigned int t74;
    unsigned int t75;
    unsigned int t76;
    unsigned int t77;
    unsigned int t78;
    unsigned int t79;
    unsigned int t80;
    unsigned int t81;
    unsigned int t82;
    unsigned int t83;
    unsigned int t84;
    unsigned int t85;
    unsigned int t86;
    char *t87;
    unsigned int t88;
    unsigned int t89;
    unsigned int t90;
    unsigned int t91;
    unsigned int t92;
    char *t93;
    char *t94;
    char *t97;
    char *t98;
    char *t99;
    char *t100;
    char *t101;
    char *t102;
    char *t103;
    char *t104;
    char *t105;
    unsigned int t106;
    char *t107;
    unsigned int t108;
    unsigned int t109;
    unsigned int t110;
    int t111;
    int t112;
    char *t114;
    char *t115;
    char *t116;
    char *t117;
    char *t118;
    unsigned int t119;
    unsigned int t120;
    unsigned int t121;
    unsigned int t122;
    unsigned int t123;
    unsigned int t124;
    unsigned int t125;
    unsigned int t126;
    char *t128;
    unsigned int t129;
    unsigned int t130;
    unsigned int t131;
    unsigned int t132;
    unsigned int t133;
    char *t134;
    unsigned int t136;
    unsigned int t137;
    unsigned int t138;
    char *t139;
    char *t140;
    char *t141;
    unsigned int t142;
    unsigned int t143;
    unsigned int t144;
    unsigned int t145;
    unsigned int t146;
    unsigned int t147;
    unsigned int t148;
    char *t149;
    char *t150;
    unsigned int t151;
    unsigned int t152;
    unsigned int t153;
    unsigned int t154;
    unsigned int t155;
    unsigned int t156;
    unsigned int t157;
    unsigned int t158;
    unsigned int t159;
    unsigned int t160;
    unsigned int t161;
    unsigned int t162;
    unsigned int t163;
    unsigned int t164;
    char *t165;
    unsigned int t166;
    unsigned int t167;
    unsigned int t168;
    unsigned int t169;
    unsigned int t170;
    char *t171;
    char *t172;

LAB0:    t1 = (t0 + 4536U);
    t2 = *((char **)t1);
    if (t2 == 0)
        goto LAB2;

LAB3:    goto *t2;

LAB2:    xsi_set_current_line(45, ng0);
    t2 = (t0 + 4856);
    *((int *)t2) = 1;
    t3 = (t0 + 4568);
    *((char **)t3) = t2;
    *((char **)t1) = &&LAB4;

LAB1:    return;
LAB4:    xsi_set_current_line(45, ng0);

LAB5:    xsi_set_current_line(46, ng0);
    t4 = (t0 + 1208U);
    t5 = *((char **)t4);
    t4 = (t5 + 4);
    t6 = *((unsigned int *)t4);
    t7 = (~(t6));
    t8 = *((unsigned int *)t5);
    t9 = (t8 & t7);
    t10 = (t9 != 0);
    if (t10 > 0)
        goto LAB6;

LAB7:    xsi_set_current_line(48, ng0);
    t2 = (t0 + 1368U);
    t3 = *((char **)t2);
    t2 = (t3 + 4);
    t6 = *((unsigned int *)t2);
    t7 = (~(t6));
    t8 = *((unsigned int *)t3);
    t9 = (t8 & t7);
    t10 = (t9 != 0);
    if (t10 > 0)
        goto LAB11;

LAB12:    xsi_set_current_line(50, ng0);
    t2 = (t0 + 1528U);
    t3 = *((char **)t2);
    memset(t13, 0, 8);
    t2 = (t3 + 4);
    t6 = *((unsigned int *)t2);
    t7 = (~(t6));
    t8 = *((unsigned int *)t3);
    t9 = (t8 & t7);
    t10 = (t9 & 1U);
    if (t10 != 0)
        goto LAB14;

LAB15:    if (*((unsigned int *)t2) != 0)
        goto LAB16;

LAB17:    t5 = (t13 + 4);
    t24 = *((unsigned int *)t13);
    t27 = *((unsigned int *)t5);
    t30 = (t24 || t27);
    if (t30 > 0)
        goto LAB18;

LAB19:    memcpy(t57, t13, 8);

LAB20:    t87 = (t57 + 4);
    t88 = *((unsigned int *)t87);
    t89 = (~(t88));
    t90 = *((unsigned int *)t57);
    t91 = (t90 & t89);
    t92 = (t91 != 0);
    if (t92 > 0)
        goto LAB32;

LAB33:    xsi_set_current_line(52, ng0);
    t2 = (t0 + 1528U);
    t3 = *((char **)t2);
    memset(t13, 0, 8);
    t2 = (t3 + 4);
    t6 = *((unsigned int *)t2);
    t7 = (~(t6));
    t8 = *((unsigned int *)t3);
    t9 = (t8 & t7);
    t10 = (t9 & 1U);
    if (t10 != 0)
        goto LAB37;

LAB38:    if (*((unsigned int *)t2) != 0)
        goto LAB39;

LAB40:    t5 = (t13 + 4);
    t24 = *((unsigned int *)t13);
    t27 = *((unsigned int *)t5);
    t30 = (t24 || t27);
    if (t30 > 0)
        goto LAB41;

LAB42:    memcpy(t57, t13, 8);

LAB43:    t87 = (t57 + 4);
    t88 = *((unsigned int *)t87);
    t89 = (~(t88));
    t90 = *((unsigned int *)t57);
    t91 = (t90 & t89);
    t92 = (t91 != 0);
    if (t92 > 0)
        goto LAB55;

LAB56:    xsi_set_current_line(54, ng0);
    t2 = (t0 + 1528U);
    t3 = *((char **)t2);
    memset(t13, 0, 8);
    t2 = (t3 + 4);
    t6 = *((unsigned int *)t2);
    t7 = (~(t6));
    t8 = *((unsigned int *)t3);
    t9 = (t8 & t7);
    t10 = (t9 & 1U);
    if (t10 != 0)
        goto LAB60;

LAB61:    if (*((unsigned int *)t2) != 0)
        goto LAB62;

LAB63:    t5 = (t13 + 4);
    t24 = *((unsigned int *)t13);
    t27 = *((unsigned int *)t5);
    t30 = (t24 || t27);
    if (t30 > 0)
        goto LAB64;

LAB65:    memcpy(t135, t13, 8);

LAB66:    t165 = (t135 + 4);
    t166 = *((unsigned int *)t165);
    t167 = (~(t166));
    t168 = *((unsigned int *)t135);
    t169 = (t168 & t167);
    t170 = (t169 != 0);
    if (t170 > 0)
        goto LAB96;

LAB97:    xsi_set_current_line(57, ng0);
    t2 = ((char*)((ng1)));
    t3 = (t0 + 2888);
    xsi_vlogvar_wait_assign_value(t3, t2, 0, 0, 1, 0LL);

LAB98:
LAB57:
LAB34:
LAB13:
LAB8:    goto LAB2;

LAB6:    xsi_set_current_line(47, ng0);
    t11 = (t0 + 2328U);
    t12 = *((char **)t11);
    t11 = (t0 + 3048);
    t15 = (t0 + 3048);
    t16 = (t15 + 72U);
    t17 = *((char **)t16);
    t18 = (t0 + 3048);
    t19 = (t18 + 64U);
    t20 = *((char **)t19);
    t21 = (t0 + 1688U);
    t22 = *((char **)t21);
    t21 = (t0 + 2008U);
    t23 = *((char **)t21);
    xsi_vlog_generic_convert_array_indices(t13, t14, t17, t20, 2, 2, t22, 4, 2, t23, 3, 2);
    t21 = (t13 + 4);
    t24 = *((unsigned int *)t21);
    t25 = (!(t24));
    t26 = (t14 + 4);
    t27 = *((unsigned int *)t26);
    t28 = (!(t27));
    t29 = (t25 && t28);
    if (t29 == 1)
        goto LAB9;

LAB10:    goto LAB8;

LAB9:    t30 = *((unsigned int *)t13);
    t31 = *((unsigned int *)t14);
    t32 = (t30 - t31);
    t33 = (t32 + 1);
    xsi_vlogvar_wait_assign_value(t11, t12, 0, *((unsigned int *)t14), t33, 0LL);
    goto LAB10;

LAB11:    xsi_set_current_line(49, ng0);
    t4 = (t0 + 3048);
    t5 = (t4 + 56U);
    t11 = *((char **)t5);
    t12 = (t0 + 3048);
    t15 = (t12 + 72U);
    t16 = *((char **)t15);
    t17 = (t0 + 3048);
    t18 = (t17 + 64U);
    t19 = *((char **)t18);
    t20 = (t0 + 1848U);
    t21 = *((char **)t20);
    t20 = (t0 + 2168U);
    t22 = *((char **)t20);
    xsi_vlog_generic_get_array_select_value(t13, 3, t11, t16, t19, 2, 2, t21, 4, 2, t22, 3, 2);
    t20 = (t0 + 2728);
    xsi_vlogvar_wait_assign_value(t20, t13, 0, 0, 3, 0LL);
    goto LAB13;

LAB14:    *((unsigned int *)t13) = 1;
    goto LAB17;

LAB16:    t4 = (t13 + 4);
    *((unsigned int *)t13) = 1;
    *((unsigned int *)t4) = 1;
    goto LAB17;

LAB18:    t11 = (t0 + 3048);
    t12 = (t11 + 56U);
    t15 = *((char **)t12);
    t16 = (t0 + 3048);
    t17 = (t16 + 72U);
    t18 = *((char **)t17);
    t19 = (t0 + 3048);
    t20 = (t19 + 64U);
    t21 = *((char **)t20);
    t22 = (t0 + 1688U);
    t23 = *((char **)t22);
    t22 = (t0 + 2008U);
    t26 = *((char **)t22);
    xsi_vlog_generic_get_array_select_value(t14, 32, t15, t18, t21, 2, 2, t23, 4, 2, t26, 3, 2);
    t22 = ((char*)((ng1)));
    memset(t34, 0, 8);
    t35 = (t14 + 4);
    t36 = (t22 + 4);
    t31 = *((unsigned int *)t14);
    t37 = *((unsigned int *)t22);
    t38 = (t31 ^ t37);
    t39 = *((unsigned int *)t35);
    t40 = *((unsigned int *)t36);
    t41 = (t39 ^ t40);
    t42 = (t38 | t41);
    t43 = *((unsigned int *)t35);
    t44 = *((unsigned int *)t36);
    t45 = (t43 | t44);
    t46 = (~(t45));
    t47 = (t42 & t46);
    if (t47 != 0)
        goto LAB24;

LAB21:    if (t45 != 0)
        goto LAB23;

LAB22:    *((unsigned int *)t34) = 1;

LAB24:    memset(t49, 0, 8);
    t50 = (t34 + 4);
    t51 = *((unsigned int *)t50);
    t52 = (~(t51));
    t53 = *((unsigned int *)t34);
    t54 = (t53 & t52);
    t55 = (t54 & 1U);
    if (t55 != 0)
        goto LAB25;

LAB26:    if (*((unsigned int *)t50) != 0)
        goto LAB27;

LAB28:    t58 = *((unsigned int *)t13);
    t59 = *((unsigned int *)t49);
    t60 = (t58 & t59);
    *((unsigned int *)t57) = t60;
    t61 = (t13 + 4);
    t62 = (t49 + 4);
    t63 = (t57 + 4);
    t64 = *((unsigned int *)t61);
    t65 = *((unsigned int *)t62);
    t66 = (t64 | t65);
    *((unsigned int *)t63) = t66;
    t67 = *((unsigned int *)t63);
    t68 = (t67 != 0);
    if (t68 == 1)
        goto LAB29;

LAB30:
LAB31:    goto LAB20;

LAB23:    t48 = (t34 + 4);
    *((unsigned int *)t34) = 1;
    *((unsigned int *)t48) = 1;
    goto LAB24;

LAB25:    *((unsigned int *)t49) = 1;
    goto LAB28;

LAB27:    t56 = (t49 + 4);
    *((unsigned int *)t49) = 1;
    *((unsigned int *)t56) = 1;
    goto LAB28;

LAB29:    t69 = *((unsigned int *)t57);
    t70 = *((unsigned int *)t63);
    *((unsigned int *)t57) = (t69 | t70);
    t71 = (t13 + 4);
    t72 = (t49 + 4);
    t73 = *((unsigned int *)t13);
    t74 = (~(t73));
    t75 = *((unsigned int *)t71);
    t76 = (~(t75));
    t77 = *((unsigned int *)t49);
    t78 = (~(t77));
    t79 = *((unsigned int *)t72);
    t80 = (~(t79));
    t25 = (t74 & t76);
    t28 = (t78 & t80);
    t81 = (~(t25));
    t82 = (~(t28));
    t83 = *((unsigned int *)t63);
    *((unsigned int *)t63) = (t83 & t81);
    t84 = *((unsigned int *)t63);
    *((unsigned int *)t63) = (t84 & t82);
    t85 = *((unsigned int *)t57);
    *((unsigned int *)t57) = (t85 & t81);
    t86 = *((unsigned int *)t57);
    *((unsigned int *)t57) = (t86 & t82);
    goto LAB31;

LAB32:    xsi_set_current_line(51, ng0);
    t93 = ((char*)((ng5)));
    t94 = (t0 + 3048);
    t97 = (t0 + 3048);
    t98 = (t97 + 72U);
    t99 = *((char **)t98);
    t100 = (t0 + 3048);
    t101 = (t100 + 64U);
    t102 = *((char **)t101);
    t103 = (t0 + 1688U);
    t104 = *((char **)t103);
    t103 = (t0 + 2008U);
    t105 = *((char **)t103);
    xsi_vlog_generic_convert_array_indices(t95, t96, t99, t102, 2, 2, t104, 4, 2, t105, 3, 2);
    t103 = (t95 + 4);
    t106 = *((unsigned int *)t103);
    t29 = (!(t106));
    t107 = (t96 + 4);
    t108 = *((unsigned int *)t107);
    t32 = (!(t108));
    t33 = (t29 && t32);
    if (t33 == 1)
        goto LAB35;

LAB36:    goto LAB34;

LAB35:    t109 = *((unsigned int *)t95);
    t110 = *((unsigned int *)t96);
    t111 = (t109 - t110);
    t112 = (t111 + 1);
    xsi_vlogvar_wait_assign_value(t94, t93, 0, *((unsigned int *)t96), t112, 0LL);
    goto LAB36;

LAB37:    *((unsigned int *)t13) = 1;
    goto LAB40;

LAB39:    t4 = (t13 + 4);
    *((unsigned int *)t13) = 1;
    *((unsigned int *)t4) = 1;
    goto LAB40;

LAB41:    t11 = (t0 + 3048);
    t12 = (t11 + 56U);
    t15 = *((char **)t12);
    t16 = (t0 + 3048);
    t17 = (t16 + 72U);
    t18 = *((char **)t17);
    t19 = (t0 + 3048);
    t20 = (t19 + 64U);
    t21 = *((char **)t20);
    t22 = (t0 + 1688U);
    t23 = *((char **)t22);
    t22 = (t0 + 2008U);
    t26 = *((char **)t22);
    xsi_vlog_generic_get_array_select_value(t14, 32, t15, t18, t21, 2, 2, t23, 4, 2, t26, 3, 2);
    t22 = ((char*)((ng4)));
    memset(t34, 0, 8);
    t35 = (t14 + 4);
    t36 = (t22 + 4);
    t31 = *((unsigned int *)t14);
    t37 = *((unsigned int *)t22);
    t38 = (t31 ^ t37);
    t39 = *((unsigned int *)t35);
    t40 = *((unsigned int *)t36);
    t41 = (t39 ^ t40);
    t42 = (t38 | t41);
    t43 = *((unsigned int *)t35);
    t44 = *((unsigned int *)t36);
    t45 = (t43 | t44);
    t46 = (~(t45));
    t47 = (t42 & t46);
    if (t47 != 0)
        goto LAB47;

LAB44:    if (t45 != 0)
        goto LAB46;

LAB45:    *((unsigned int *)t34) = 1;

LAB47:    memset(t49, 0, 8);
    t50 = (t34 + 4);
    t51 = *((unsigned int *)t50);
    t52 = (~(t51));
    t53 = *((unsigned int *)t34);
    t54 = (t53 & t52);
    t55 = (t54 & 1U);
    if (t55 != 0)
        goto LAB48;

LAB49:    if (*((unsigned int *)t50) != 0)
        goto LAB50;

LAB51:    t58 = *((unsigned int *)t13);
    t59 = *((unsigned int *)t49);
    t60 = (t58 & t59);
    *((unsigned int *)t57) = t60;
    t61 = (t13 + 4);
    t62 = (t49 + 4);
    t63 = (t57 + 4);
    t64 = *((unsigned int *)t61);
    t65 = *((unsigned int *)t62);
    t66 = (t64 | t65);
    *((unsigned int *)t63) = t66;
    t67 = *((unsigned int *)t63);
    t68 = (t67 != 0);
    if (t68 == 1)
        goto LAB52;

LAB53:
LAB54:    goto LAB43;

LAB46:    t48 = (t34 + 4);
    *((unsigned int *)t34) = 1;
    *((unsigned int *)t48) = 1;
    goto LAB47;

LAB48:    *((unsigned int *)t49) = 1;
    goto LAB51;

LAB50:    t56 = (t49 + 4);
    *((unsigned int *)t49) = 1;
    *((unsigned int *)t56) = 1;
    goto LAB51;

LAB52:    t69 = *((unsigned int *)t57);
    t70 = *((unsigned int *)t63);
    *((unsigned int *)t57) = (t69 | t70);
    t71 = (t13 + 4);
    t72 = (t49 + 4);
    t73 = *((unsigned int *)t13);
    t74 = (~(t73));
    t75 = *((unsigned int *)t71);
    t76 = (~(t75));
    t77 = *((unsigned int *)t49);
    t78 = (~(t77));
    t79 = *((unsigned int *)t72);
    t80 = (~(t79));
    t25 = (t74 & t76);
    t28 = (t78 & t80);
    t81 = (~(t25));
    t82 = (~(t28));
    t83 = *((unsigned int *)t63);
    *((unsigned int *)t63) = (t83 & t81);
    t84 = *((unsigned int *)t63);
    *((unsigned int *)t63) = (t84 & t82);
    t85 = *((unsigned int *)t57);
    *((unsigned int *)t57) = (t85 & t81);
    t86 = *((unsigned int *)t57);
    *((unsigned int *)t57) = (t86 & t82);
    goto LAB54;

LAB55:    xsi_set_current_line(53, ng0);
    t93 = ((char*)((ng6)));
    t94 = (t0 + 3048);
    t97 = (t0 + 3048);
    t98 = (t97 + 72U);
    t99 = *((char **)t98);
    t100 = (t0 + 3048);
    t101 = (t100 + 64U);
    t102 = *((char **)t101);
    t103 = (t0 + 1688U);
    t104 = *((char **)t103);
    t103 = (t0 + 2008U);
    t105 = *((char **)t103);
    xsi_vlog_generic_convert_array_indices(t95, t96, t99, t102, 2, 2, t104, 4, 2, t105, 3, 2);
    t103 = (t95 + 4);
    t106 = *((unsigned int *)t103);
    t29 = (!(t106));
    t107 = (t96 + 4);
    t108 = *((unsigned int *)t107);
    t32 = (!(t108));
    t33 = (t29 && t32);
    if (t33 == 1)
        goto LAB58;

LAB59:    goto LAB57;

LAB58:    t109 = *((unsigned int *)t95);
    t110 = *((unsigned int *)t96);
    t111 = (t109 - t110);
    t112 = (t111 + 1);
    xsi_vlogvar_wait_assign_value(t94, t93, 0, *((unsigned int *)t96), t112, 0LL);
    goto LAB59;

LAB60:    *((unsigned int *)t13) = 1;
    goto LAB63;

LAB62:    t4 = (t13 + 4);
    *((unsigned int *)t13) = 1;
    *((unsigned int *)t4) = 1;
    goto LAB63;

LAB64:    t11 = (t0 + 3048);
    t12 = (t11 + 56U);
    t15 = *((char **)t12);
    t16 = (t0 + 3048);
    t17 = (t16 + 72U);
    t18 = *((char **)t17);
    t19 = (t0 + 3048);
    t20 = (t19 + 64U);
    t21 = *((char **)t20);
    t22 = (t0 + 1688U);
    t23 = *((char **)t22);
    t22 = (t0 + 2008U);
    t26 = *((char **)t22);
    xsi_vlog_generic_get_array_select_value(t14, 32, t15, t18, t21, 2, 2, t23, 4, 2, t26, 3, 2);
    t22 = ((char*)((ng5)));
    memset(t34, 0, 8);
    t35 = (t14 + 4);
    t36 = (t22 + 4);
    t31 = *((unsigned int *)t14);
    t37 = *((unsigned int *)t22);
    t38 = (t31 ^ t37);
    t39 = *((unsigned int *)t35);
    t40 = *((unsigned int *)t36);
    t41 = (t39 ^ t40);
    t42 = (t38 | t41);
    t43 = *((unsigned int *)t35);
    t44 = *((unsigned int *)t36);
    t45 = (t43 | t44);
    t46 = (~(t45));
    t47 = (t42 & t46);
    if (t47 != 0)
        goto LAB70;

LAB67:    if (t45 != 0)
        goto LAB69;

LAB68:    *((unsigned int *)t34) = 1;

LAB70:    memset(t49, 0, 8);
    t50 = (t34 + 4);
    t51 = *((unsigned int *)t50);
    t52 = (~(t51));
    t53 = *((unsigned int *)t34);
    t54 = (t53 & t52);
    t55 = (t54 & 1U);
    if (t55 != 0)
        goto LAB71;

LAB72:    if (*((unsigned int *)t50) != 0)
        goto LAB73;

LAB74:    t61 = (t49 + 4);
    t58 = *((unsigned int *)t49);
    t59 = (!(t58));
    t60 = *((unsigned int *)t61);
    t64 = (t59 || t60);
    if (t64 > 0)
        goto LAB75;

LAB76:    memcpy(t113, t49, 8);

LAB77:    memset(t127, 0, 8);
    t128 = (t113 + 4);
    t129 = *((unsigned int *)t128);
    t130 = (~(t129));
    t131 = *((unsigned int *)t113);
    t132 = (t131 & t130);
    t133 = (t132 & 1U);
    if (t133 != 0)
        goto LAB89;

LAB90:    if (*((unsigned int *)t128) != 0)
        goto LAB91;

LAB92:    t136 = *((unsigned int *)t13);
    t137 = *((unsigned int *)t127);
    t138 = (t136 & t137);
    *((unsigned int *)t135) = t138;
    t139 = (t13 + 4);
    t140 = (t127 + 4);
    t141 = (t135 + 4);
    t142 = *((unsigned int *)t139);
    t143 = *((unsigned int *)t140);
    t144 = (t142 | t143);
    *((unsigned int *)t141) = t144;
    t145 = *((unsigned int *)t141);
    t146 = (t145 != 0);
    if (t146 == 1)
        goto LAB93;

LAB94:
LAB95:    goto LAB66;

LAB69:    t48 = (t34 + 4);
    *((unsigned int *)t34) = 1;
    *((unsigned int *)t48) = 1;
    goto LAB70;

LAB71:    *((unsigned int *)t49) = 1;
    goto LAB74;

LAB73:    t56 = (t49 + 4);
    *((unsigned int *)t49) = 1;
    *((unsigned int *)t56) = 1;
    goto LAB74;

LAB75:    t62 = (t0 + 3048);
    t63 = (t62 + 56U);
    t71 = *((char **)t63);
    t72 = (t0 + 3048);
    t87 = (t72 + 72U);
    t93 = *((char **)t87);
    t94 = (t0 + 3048);
    t97 = (t94 + 64U);
    t98 = *((char **)t97);
    t99 = (t0 + 1688U);
    t100 = *((char **)t99);
    t99 = (t0 + 2008U);
    t101 = *((char **)t99);
    xsi_vlog_generic_get_array_select_value(t57, 32, t71, t93, t98, 2, 2, t100, 4, 2, t101, 3, 2);
    t99 = ((char*)((ng6)));
    memset(t95, 0, 8);
    t102 = (t57 + 4);
    t103 = (t99 + 4);
    t65 = *((unsigned int *)t57);
    t66 = *((unsigned int *)t99);
    t67 = (t65 ^ t66);
    t68 = *((unsigned int *)t102);
    t69 = *((unsigned int *)t103);
    t70 = (t68 ^ t69);
    t73 = (t67 | t70);
    t74 = *((unsigned int *)t102);
    t75 = *((unsigned int *)t103);
    t76 = (t74 | t75);
    t77 = (~(t76));
    t78 = (t73 & t77);
    if (t78 != 0)
        goto LAB81;

LAB78:    if (t76 != 0)
        goto LAB80;

LAB79:    *((unsigned int *)t95) = 1;

LAB81:    memset(t96, 0, 8);
    t105 = (t95 + 4);
    t79 = *((unsigned int *)t105);
    t80 = (~(t79));
    t81 = *((unsigned int *)t95);
    t82 = (t81 & t80);
    t83 = (t82 & 1U);
    if (t83 != 0)
        goto LAB82;

LAB83:    if (*((unsigned int *)t105) != 0)
        goto LAB84;

LAB85:    t84 = *((unsigned int *)t49);
    t85 = *((unsigned int *)t96);
    t86 = (t84 | t85);
    *((unsigned int *)t113) = t86;
    t114 = (t49 + 4);
    t115 = (t96 + 4);
    t116 = (t113 + 4);
    t88 = *((unsigned int *)t114);
    t89 = *((unsigned int *)t115);
    t90 = (t88 | t89);
    *((unsigned int *)t116) = t90;
    t91 = *((unsigned int *)t116);
    t92 = (t91 != 0);
    if (t92 == 1)
        goto LAB86;

LAB87:
LAB88:    goto LAB77;

LAB80:    t104 = (t95 + 4);
    *((unsigned int *)t95) = 1;
    *((unsigned int *)t104) = 1;
    goto LAB81;

LAB82:    *((unsigned int *)t96) = 1;
    goto LAB85;

LAB84:    t107 = (t96 + 4);
    *((unsigned int *)t96) = 1;
    *((unsigned int *)t107) = 1;
    goto LAB85;

LAB86:    t106 = *((unsigned int *)t113);
    t108 = *((unsigned int *)t116);
    *((unsigned int *)t113) = (t106 | t108);
    t117 = (t49 + 4);
    t118 = (t96 + 4);
    t109 = *((unsigned int *)t117);
    t110 = (~(t109));
    t119 = *((unsigned int *)t49);
    t25 = (t119 & t110);
    t120 = *((unsigned int *)t118);
    t121 = (~(t120));
    t122 = *((unsigned int *)t96);
    t28 = (t122 & t121);
    t123 = (~(t25));
    t124 = (~(t28));
    t125 = *((unsigned int *)t116);
    *((unsigned int *)t116) = (t125 & t123);
    t126 = *((unsigned int *)t116);
    *((unsigned int *)t116) = (t126 & t124);
    goto LAB88;

LAB89:    *((unsigned int *)t127) = 1;
    goto LAB92;

LAB91:    t134 = (t127 + 4);
    *((unsigned int *)t127) = 1;
    *((unsigned int *)t134) = 1;
    goto LAB92;

LAB93:    t147 = *((unsigned int *)t135);
    t148 = *((unsigned int *)t141);
    *((unsigned int *)t135) = (t147 | t148);
    t149 = (t13 + 4);
    t150 = (t127 + 4);
    t151 = *((unsigned int *)t13);
    t152 = (~(t151));
    t153 = *((unsigned int *)t149);
    t154 = (~(t153));
    t155 = *((unsigned int *)t127);
    t156 = (~(t155));
    t157 = *((unsigned int *)t150);
    t158 = (~(t157));
    t29 = (t152 & t154);
    t32 = (t156 & t158);
    t159 = (~(t29));
    t160 = (~(t32));
    t161 = *((unsigned int *)t141);
    *((unsigned int *)t141) = (t161 & t159);
    t162 = *((unsigned int *)t141);
    *((unsigned int *)t141) = (t162 & t160);
    t163 = *((unsigned int *)t135);
    *((unsigned int *)t135) = (t163 & t159);
    t164 = *((unsigned int *)t135);
    *((unsigned int *)t135) = (t164 & t160);
    goto LAB95;

LAB96:    xsi_set_current_line(55, ng0);
    t171 = ((char*)((ng4)));
    t172 = (t0 + 2888);
    xsi_vlogvar_wait_assign_value(t172, t171, 0, 0, 1, 0LL);
    goto LAB98;

}


extern void work_m_00000000000580851702_4069023508_init()
{
	static char *pe[] = {(void *)Initial_34_0,(void *)Always_45_1};
	xsi_register_didat("work_m_00000000000580851702_4069023508", "isim/testo_isim_beh.exe.sim/work/m_00000000000580851702_4069023508.didat");
	xsi_register_executes(pe);
}
